Image scaling refers to expanding or reducing an input image to create an output image. Image scaling techniques that produce highly accurate output images generally sample/read pixels from fractional positions in the input image and/or incorporate weighted averages for areas in the input image. Although accurate, such techniques are computation-intensive and thus incur undesirable costs in time and expense for many real-world applications. For instance, in the field of printing where pixel values may be represented by eight bits (i.e., 256 different color values), resizing pixels to highly precise floating-point values may take significant processing resources which is not reflected in the quality of the printed output and delays the overall time to print. On the other hand, more basic techniques for scaling images that are based on linear interpolation (e.g., nearest neighbor scaling or Bresenham scaling) are less computation-expensive, but sometimes produce bands or stripes, referred to as artifacts, in the output image.